Method for evaluating mounting stability of articulated arm coordinate measurement machine using inclinometers

ABSTRACT

A portable articulated arm coordinate measurement machine can include a base, a manually positionable articulated arm portion having opposed first and second ends, the arm portion including a plurality of connected arm segments, an electronic circuit that receives the position signals from the transducers, a first inclinometer coupled to the base, wherein the inclinometer is configured to produce a first electrical signal responsive to an angle of tilt of the base and an electrical system configured to record a first reading of the first inclinometer and a second reading of the first inclinometer, wherein the first reading is in response to at least one of a first force applied to the base and a third force applied to the mounting structure, wherein the second reading is in response to at least one of a second force applied to the base and a fourth force applied to the mounting structure.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of provisional application No. 61/296,555 filed Jan. 20, 2010, the content of which is hereby incorporated by reference in its entirety.

BACKGROUND

The present disclosure relates to a coordinate measuring machine, and more particularly to a portable articulated arm coordinate measuring machine having inclinometers configured to measure tilt of the portable articulated arm coordinate measuring machine.

Portable articulated arm coordinate measuring machines (AACMMs) have found widespread use in the manufacturing or production of parts where there is a need to rapidly and accurately verify the dimensions of the part during various stages of the manufacturing or production (e.g., machining) of the part. Portable AACMMs represent a vast improvement over known stationary or fixed, cost-intensive and relatively difficult to use measurement installations, particularly in the amount of time it takes to perform dimensional measurements of relatively complex parts. Typically, a user of a portable AACMM simply guides a probe along the surface of the part or object to be measured. The measurement data are then recorded and provided to the user. In some cases, the data are provided to the user in visual form, for example, three-dimensional (3-D) form on a computer screen. In other cases, the data are provided to the user in numeric form, for example when measuring the diameter of a hole, the text “Diameter=1.0034” is displayed on a computer screen.

An example of a prior art portable articulated arm CMM is disclosed in commonly assigned U.S. Pat. No. 5,402,582 ('582), which is incorporated herein by reference in its entirety. The '582 patent discloses a 3-D measuring system comprised of a manually-operated articulated arm CMM having a support base on one end and a measurement probe at the other end. Commonly assigned U.S. Pat. No. 5,611,147 ('147), which is incorporated herein by reference in its entirety, discloses a similar articulated arm CMM. In the '147 patent, the articulated arm CMM includes a number of features including an additional rotational axis at the probe end, thereby providing for an arm with either a two-two-two or a two-two-three axis configuration (the latter case being a seven axis arm).

In some cases, AACMMs are not securely attached to a mounting structure. In this case, the base of the articulated arm may move as the probe of the articulated arm is moved from position to position, thereby giving inaccurate readings. In some other cases, the mounting structure to which the arm is mounted may move, also resulting in erroneous readings. What is needed is a method detecting a lack of stability in the mounting of the AACMM or in the mounting structure to which the AACMM is attached.

SUMMARY OF THE INVENTION

Exemplary embodiments include a portable articulated arm coordinate measurement machine including a base, a manually positionable articulated arm portion having opposed first and second ends, the arm portion including a plurality of connected arm segments, each of the arm segments including at least one position transducer for producing a position signal, the arm portion being coupled to the base, wherein the base is attached to a mounting structure, an electronic circuit that receives the position signals from the transducers, a first inclinometer coupled to the base, wherein the inclinometer is configured to produce a first electrical signal responsive to an angle of tilt of the base and an electrical system configured to record a first reading of the first inclinometer and a second reading of the first inclinometer, wherein the first reading is in response to at least one of a first force applied to the base and a third force applied to the mounting structure and wherein the second reading is in response to at least one of a second force applied to the base and a fourth force applied to the mounting structure, wherein the electrical system is further configured to determine a parameter of base stability based on the difference between the first and second readings of the first inclinometer.

Additional exemplary embodiments include a method of evaluating the mounting stability of a portable articulated arm coordinate measuring machine, the including providing a base, providing a manually positionable articulated arm portion having opposed first and second ends, the arm portion including a plurality of connected arm segments, each arm segment including at least one position transducer for producing a position signal, the arm portion being coupled to the base, wherein the base is attached to a mounting structure, providing an electronic circuit that receives the position signals from the transducers, providing a first inclinometer coupled to the base, wherein the first inclinometer is configured to produce a first electrical signal responsive to an angle of tilt of the base, providing an electrical system configured to record a first reading of the first inclinometer and a second reading of the first inclinometer, recording the first reading in response to at least one of a first force applied to the base and a third force applied to the mounting structure, recording the second reading in response to at least one of a second force applied to the base and a fourth force applied to the mounting structure, determining a parameter of base stability based on the difference between the first and second readings of the first inclinometer and recording the parameter of base stability.

Further exemplary embodiments include a computer program product for implementing a portable articulated arm coordinate measuring machine, the computer program product comprising a storage medium having computer-readable program code embodied thereon, which when executed by a computer causes the computer to implement a method, the method including providing a base, providing a manually positionable articulated arm portion having opposed first and second ends, the arm portion including a plurality of connected arm segments, each arm segment including at least one position transducer for producing a position signal, the arm portion being coupled to the base, wherein the base is attached to a mounting structure, providing an electronic circuit that receives the position signals from the transducers, providing a first inclinometer coupled to the base, wherein the inclinometer is configured to produce a first electrical signal responsive to an angle of tilt of the base, providing an electrical system configured to record a first reading of the first inclinometer and a second reading of the first inclinometer, recording the first reading in response to at least one of a first force applied to the base and a third force applied to the mounting structure, recording the second reading in response to at least one of a second force applied to the base and a fourth force applied to the mounting structure, determining a parameter of base stability based on the difference between the first and second readings of the first inclinometer and recording the parameter of base stability.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings, exemplary embodiments are shown which should not be construed to be limiting regarding the entire scope of the disclosure, and wherein the elements are numbered alike in several FIGURES:

FIG. 1, including FIGS. 1A and 1B, are perspective views of a portable articulated arm coordinate measuring machine (AACMM) having embodiments of various aspects of the present invention therewithin;

FIG. 2, including FIGS. 2A-2D taken together, is a block diagram of electronics utilized as part of the AACMM of FIG. 1 in accordance with an embodiment;

FIG. 3, including FIGS. 3A and 3B taken together, is a block diagram describing detailed features of the electronic data processing system of FIG. 2 in accordance with an embodiment;

FIG. 4 illustrates an internal view of an inclinometer disposed in the base of the AACMM;

FIG. 5 illustrates a screenshot of an exemplary graphical user interface in which an operator can detect tilt changes in the AACMM;

FIG. 6 is a flowchart of a method for detecting tilt in accordance with exemplary embodiments;

FIG. 7 is a flowchart of a method for evaluating the stability of an AACMM in accordance with exemplary embodiments; and

FIG. 8 is a flowchart of a method for evaluating the stability of an AACMM in accordance with exemplary embodiments.

DETAILED DESCRIPTION

Exemplary embodiments include systems and methods for measuring tilt data from portable articulated arm coordinate measuring machines and displaying the tilt data to alert an operator that the portable articulated arm coordinate measuring machine is undergoing a change in tilt. The operator can then be aware of the changes in tilt and take corrective action. In exemplary embodiments, the systems and methods described herein provide a diagnostic tool to determine if portable articulated arm coordinate measuring machines are properly mounted onto a mounting surface by detecting movement of the portable articulated arm coordinate measuring machines during measurement operations. Other exemplary embodiments provide methods of distinguishing between improper mounting of the base of the AACMM on the mounting structure and movement of the mounting structure itself.

FIGS. 1A and 1B illustrate, in perspective, a portable articulated arm coordinate measuring machine (AACMM) 100 according to various embodiments of the present invention, an articulated arm being one type of coordinate measuring machine. As shown in FIGS. 1A and 1B, the exemplary AACMM 100 may comprise a six or seven axis articulated measurement device having a measurement probe housing 102 coupled to an arm portion 104 of the AACMM 100 at one end. The arm portion 104 comprises a first arm segment 106 coupled to a second arm segment 108 by a first grouping of bearing cartridges 110 (e.g., two bearing cartridges). A second grouping of bearing cartridges 112 (e.g., two bearing cartridges) couples the second arm segment 108 to the measurement probe housing 102. A third grouping of bearing cartridges 114 (e.g., three bearing cartridges) couples the first arm segment 106 to a base 116 located at the other end of the arm portion 104 of the AACMM 100. Each grouping of bearing cartridges 110, 112, 114 provides for multiple axes of articulated movement. Also, the measurement probe housing 102 may comprise the shaft of the seventh axis portion of the AACMM 100 (e.g., a cartridge containing an encoder system that determines movement of the measurement device, for example a probe 118, in the seventh axis of the AACMM 100). In use of the AACMM 100, the base 116 is typically affixed to a work surface.

Each bearing cartridge within each bearing cartridge grouping 110, 112, 114 typically contains an encoder system (e.g., an optical angular encoder system). The encoder system (i.e., transducer) provides an indication of the position of the respective arm segments 106, 108 and corresponding bearing cartridge groupings 110, 112, 114 that all together provide an indication of the position of the probe 118 with respect to the base 116 (and, thus, the position of the object being measured by the AACMM 100 in a certain frame of reference—for example a local or global frame of reference). The arm segments 106, 108 may be made from a suitably rigid material such as but not limited to a carbon composite material for example. A portable AACMM 100 with six or seven axes of articulated movement (i.e., degrees of freedom) provides advantages in allowing the operator to position the probe 118 in a desired location within a 360° area about the base 116 while providing an arm portion 104 that may be easily handled by the operator. However, it should be appreciated that the illustration of an arm portion 104 having two arm segments 106, 108 is for exemplary purposes, and the claimed invention should not be so limited. An AACMM 100 may have any number of arm segments coupled together by bearing cartridges (and, thus, more or less than six or seven axes of articulated movement or degrees of freedom).

The probe 118 is detachably mounted to the measurement probe housing 102, which is connected to bearing cartridge grouping 112. A handle 126 is removable with respect to the measurement probe housing 102 by way of, for example, a quick-connect interface. The handle 126 may be replaced with another device (e.g., a laser line probe, a bar code reader), thereby providing advantages in allowing the operator to use different measurement devices with the same AACMM 100. In exemplary embodiments, the probe housing 102 houses a removable probe 118, which is a contacting measurement device and may have different tips 118 that physically contact the object to be measured, including, but not limited to: ball, touch-sensitive, curved and extension type probes. In other embodiments, the measurement is performed, for example, by a non-contacting device such as a laser line probe (LLP). In an embodiment, the handle 126 is replaced with the LLP using the quick-connect interface. Other types of measurement devices may replace the removable handle 126 to provide additional functionality. Examples of such measurement devices include, but are not limited to, one or more illumination lights, a temperature sensor, a thermal scanner, a bar code scanner, a projector, a paint sprayer, a camera, or the like, for example.

As shown in FIGS. 1A and 1B, the AACMM 100 includes the removable handle 126 that provides advantages in allowing accessories or functionality to be changed without removing the measurement probe housing 102 from the bearing cartridge grouping 112. As discussed in more detail below with respect to FIG. 2, the removable handle 126 may also include an electrical connector that allows electrical power and data to be exchanged with the handle 126 and the corresponding electronics located in the probe end.

In various embodiments, each grouping of bearing cartridges 110, 112, 114 allows the arm portion 104 of the AACMM 100 to move about multiple axes of rotation. As mentioned, each bearing cartridge grouping 110, 112, 114 includes corresponding encoder systems, such as optical angular encoders for example, that are each arranged coaxially with the corresponding axis of rotation of, e.g., the arm segments 106, 108. The optical encoder system detects rotational (swivel) or transverse (hinge) movement of, e.g., each one of the arm segments 106, 108 about the corresponding axis and transmits a signal to an electronic data processing system within the AACMM 100 as described in more detail herein below. Each individual raw encoder count is sent separately to the electronic data processing system as a signal where it is further processed into measurement data. No position calculator separate from the AACMM 100 itself (e.g., a serial box) is required, as disclosed in commonly assigned U.S. Pat. No. 5,402,582 ('582).

The base 116 may include an attachment device or mounting device 120. The mounting device 120 allows the AACMM 100 to be removably mounted to a desired location, such as an inspection table, a machining center, a wall or the floor for example. In one embodiment, the base 116 includes a handle portion 122 that provides a convenient location for the operator to hold the base 116 as the AACMM 100 is being moved. In one embodiment, the base 116 further includes a movable cover portion 124 that folds down to reveal a user interface, such as a display screen.

In accordance with an embodiment, the base 116 of the portable AACMM 100 contains or houses an electronic data processing system that includes two primary components: a base processing system that processes the data from the various encoder systems within the AACMM 100 as well as data representing other arm parameters to support three-dimensional (3-D) positional calculations; and a user interface processing system that includes an on-board operating system, a touch screen display, and resident application software that allows for relatively complete metrology functions to be implemented within the AACMM 100 without the need for connection to an external computer.

The electronic data processing system in the base 116 may communicate with the encoder systems, sensors, and other peripheral hardware located away from the base 116 (e.g., a LLP that can be mounted to the removable handle 126 on the AACMM 100). The electronics that support these peripheral hardware devices or features may be located in each of the bearing cartridge groupings 110, 112, 114 located within the portable AACMM 100.

FIG. 2 is a block diagram of electronics utilized in an AACMM 100 in accordance with an embodiment. The embodiment shown in FIG. 2 includes an electronic data processing system 210 including a base processor board 204 for implementing the base processing system, a user interface board 202, a base power board 206 for providing power, a Bluetooth module 232, and a base tilt board 208. The user interface board 202 includes a computer processor for executing application software to perform user interface, display, and other functions described herein.

As shown in FIG. 2, the electronic data processing system 210 is in communication with the aforementioned plurality of encoder systems via one or more arm buses 218. In the embodiment depicted in FIG. 2, each encoder system generates encoder data and includes: an encoder arm bus interface 214, an encoder digital signal processor (DSP) 216, an encoder read head interface 234, and a temperature sensor 212. Other devices, such as strain sensors, may be attached to the arm bus 218.

Also shown in FIG. 2 are probe end electronics 230 that are in communication with the arm bus 218. The probe end electronics 230 include a probe end DSP 228, a temperature sensor 212, a handle/LLP interface bus 240 that connects with the handle 126 or the LLP 242 via the quick-connect interface in an embodiment, and a probe interface 226. The quick-connect interface allows access by the handle 126 to the data bus, control lines, and power bus used by the LLP 242 and other accessories. In an embodiment, the probe end electronics 230 are located in the measurement probe housing 102 on the AACMM 100. In an embodiment, the handle 126 may be removed from the quick-connect interface and measurement may be performed by the laser line probe (LLP) 242 communicating with the probe end electronics 230 of the AACMM 100 via the handle/LLP interface bus 240. In an embodiment, the electronic data processing system 210 is located in the base 116 of the AACMM 100, the probe end electronics 230 are located in the measurement probe housing 102 of the AACMM 100, and the encoder systems are located in the bearing cartridge groupings 110, 112, 114. The probe interface 226 may connect with the probe end DSP 228 by any suitable communications protocol, including commercially-available products from Maxim Integrated Products, Inc. that embody the 1-Wire® communications protocol 236.

FIG. 3 is a block diagram describing detailed features of the electronic data processing system 210 of the AACMM 100 in accordance with an embodiment. In an embodiment, the electronic data processing system 210 is located in the base 116 of the AACMM 100 and includes the base processor board 204, the user interface board 202, a base power board 206, a Bluetooth module 232, and a base tilt module 208.

In an embodiment shown in FIG. 3, the base processor board 204 includes the various functional blocks illustrated therein. For example, a base processor function 302 is utilized to support the collection of measurement data from the AACMM 100 and receives raw arm data (e.g., encoder system data) via the arm bus 218 and a bus control module function 308. The memory function 304 stores programs and static arm configuration data. The base processor board 204 also includes an external hardware option port function 310 for communicating with any external hardware devices or accessories such as an LLP 242. A real time clock (RTC) and log 306, a battery pack interface (IF) 316, and a diagnostic port 318 are also included in the functionality in an embodiment of the base processor board 204 depicted in FIG. 3.

The base processor board 204 also manages all the wired and wireless data communication with external (host computer) and internal (display processor 202) devices. The base processor board 204 has the capability of communicating with an Ethernet network via an Ethernet function 320 (e.g., using a clock synchronization standard such as Institute of Electrical and Electronics Engineers (IEEE) 1588), with a wireless local area network (WLAN) via a LAN function 322, and with Bluetooth module 232 via a parallel to serial communications (PSC) function 314. The base processor board 204 also includes a connection to a universal serial bus (USB) device 312.

The base processor board 204 transmits and collects raw measurement data (e.g., encoder system counts, temperature readings) for processing into measurement data without the need for any preprocessing, such as disclosed in the serial box of the aforementioned '582 patent. The base processor 204 sends the processed data to the display processor 328 on the user interface board 202 via an RS485 interface (IF) 326. In an embodiment, the base processor 204 also sends the raw measurement data to an external computer.

Turning now to the user interface board 202 in FIG. 3, the angle and positional data received by the base processor is utilized by applications executing on the display processor 328 to provide an autonomous metrology system within the AACMM 100. Applications may be executed on the display processor 328 to support functions such as, but not limited to: measurement of features, guidance and training graphics, remote diagnostics, temperature corrections, control of various operational features, connection to various networks, and display of measured objects. Along with the display processor 328 and a liquid crystal display (LCD) 338 (e.g., a touch screen LCD) user interface, the user interface board 202 includes several interface options including a secure digital (SD) card interface 330, a memory 332, a USB Host interface 334, a diagnostic port 336, a camera port 340, an audio/video interface 342, a dial-up/cell modem 344 and a global positioning system (GPS) port 346.

The electronic data processing system 210 shown in FIG. 3 also includes a base power board 206 with an environmental recorder 362 for recording environmental data. The base power board 206 also provides power to the electronic data processing system 210 using an AC/DC converter 358 and a battery charger control 360. The base power board 206 communicates with the base processor board 204 using inter-integrated circuit (I2C) serial single ended bus 354 as well as via a DMA serial peripheral interface (DSPI) 356. The base power board 206 is connected to a tilt sensor and radio frequency identification (RFID) module 208 via an input/output (I/O) expansion function 364 implemented in the base power board 206.

Though shown as separate components, in other embodiments all or a subset of the components may be physically located in different locations and/or functions combined in different manners than that shown in FIG. 3. For example, in one embodiment, the base processor board 204 and the user interface board 202 are combined into one physical board.

FIG. 4 illustrates an internal view of an inclinometer 160 disposed in the base 116 of the AACMM 100. The inclinometers can be a standard electrical component 366 for coupling to a circuit board that is coupled to the base 116. Alternatively, the inclinometers may be located within other parts of the AACMM 100. Two possible locations for the inclinometer are in the stationary portion of base 116 and in the swivel region immediately above the stationary portion of the base 116. In the latter position, compensation of inclinometer offset and gain may be obtained by observing the readings of inclinometer 160 as the user rotates the AACMM 100 about the swivel axis. In general, it is important to measure the tilt along two perpendicular directions that are approximately perpendicular to the gravity vector. Such measurements can be made with a single inclinometer measuring tilt over two or more directions or with a plurality of one axis inclinometers.

The incorporation of one or more inclinometers (i.e., tilt sensors) 160 into the base 116 to detect variations in tilt of the base 116 relative to the mounting structure (shown here as mounting structure 401) during operation of the arm portion 104 enables a user to determine if the AACMM 100 is mounted properly on the mounting surface. The mounting surface 401 can further include an inclinometer 405. In exemplary embodiments, the methods described herein can measure and compare tilt data from the inclinometers 160, 405 to determine a change in tilt of either the mounting structure 401 or the base 116 or both the mounting structure 401 and the base 116.

The mounting structure may take a variety of forms. One common mounting structure for the AACMM 100 is an instrument stand or a heavy duty tripod. Another common mounting structure is a smooth surface such as a surface plate (for example, a smooth granite plate).

Minor tilt angle variations of the base 116 can lead to relatively significant errors in the calculation of the three-dimensional position of the probe tip 118. Such tilt changes may result if the base 116 is not securely fastened to a mounting structure. In this situation, tilt may change because of variations in torque applied to the base 116 by a counterbalance spring internal to the AACMM 100 (not shown). Tilt may also change because of the variation in torque applied to the AACMM base 116 as the weights of the arm segments 106, 108 are extended through varying moment-arm distances during AACMM operation.

By monitoring the actual tilt of the base 116 during AACMM operation via one or more precision inclinometers 160, it is possible to alert the operator to a problem with the mounting of the AACMM 100. The operator may be alerted to a faulty mounting of AACMM 100 by data provided from the one or more inclinometers 160 to software run by an on-board or host computer. The data may alternatively be used to illuminate a warning light, activate a warning sound, or in some other way notify the user of a problem. The one or more inclinometers 160 may be incorporated into a self-diagnostic software routine accessed directly as part of a set-up evaluation application or automatically as part of a warning system.

In exemplary embodiments, the systems and methods described herein measure changes in tilt dynamically to determine whether one or more portions of the AACMM 100 are undergoing a change in tilt. This enables discovery of instability in attachment of the AACMM 100 to its mounting structure. For the diagnostic application, the collected tilt data is examined to measure changes in tilt and not the actual value of the tilt. In this instance, it is unimportant whether the base 116 of the AACMM 100 has some particular average tilt angle, such as five degrees. Rather, a change in tilt angle is enough to indicate that measurements of the AACMM 100 are susceptible to error. In this manner, the operator of the AACMM 100 may be alerted to take corrective action.

FIG. 5 illustrates a screenshot 500 of an exemplary graphical user interface (GUI) 505 by which an operator can detect tilt changes in the AACMM 100. In exemplary embodiments, the GUI 505 can be disposed on the AACMM 100 or on an external computing device. The GUI 505 can display tilt data measured from the base processing system. As illustrated, a plot 510 of x-y tilt angles can be displayed on the GUI 505. In a steady state in which there are no changes in tilt of the AACMM 100, a steady plot is displayed as illustrated in FIG. 5. If the AACMM 100 is undergoing a change in tilt, the operator will be able to observe a change in the plot 510 and thus know that some change in tilt is occurring in the AACMM 100. Near the center of the exemplary plot 510 is a circle. In exemplary embodiments, points inside the circle are considered acceptable changes in tilt while those outside the circle are considered excessive changes in tilt and significant enough to degrade measurement accuracy beyond a pre-set limit. In exemplary embodiments, the diameter of the circle can be any predetermined value representing the range of acceptable tilt. The scale of the diameter can be defined as functions of arm length, type or set-up. For example, the longer the arm, the stiffer the spring, and the more the stress placed on the mount as the arm is articulated. Thus factors such as arm length affect changes in tilt angle and may be incorporated into acceptable limits for changes in rate of tilt. For example, the error circle may be defined as a function of arm length. Furthermore, in exemplary embodiments, although the inclinometers 160 can indicate an absolute orientation of the base with respect to the gravity vector, as described herein, the inclinometers 160 are implemented to detect changes in tilt. As such, the plot 510 can be “zeroed” on the GUI 505 after the AACMM 100 is mounted. In this way, regardless of the initial tilt (e.g., five degrees as described hereinabove), the plot 510 can be zeroed at the initial tilt after mounting.

FIG. 6 is a flowchart of a method 600 for detecting tilt in accordance with exemplary embodiments illustrating that the AACMM 100 can continuously measure tilt at block 610 and display the measurements at block 620 continuously for so long as the operator elects to measure and display at block 630.

In exemplary embodiments discussed hereinabove, inclinometers 160 mounted on the AACMM 100 may respond to tilting of the structure to which the AACMM 100 is mounted as well as to tilting of the AACMM 100 with respect to the mounting structure. In other exemplary embodiments, inclinometers are disposed on the mounting structure as well as in AACMM 100. The tilt directions (x and y, for example) may be approximately aligned for the inclinometers disposed on the mounting structure and those inclinometers 160 in the AACMM 100. Through the use of this combination of inclinometers, the user is provided with information to identify the source of the problem—an improperly mounted AACMM 100 or a wobbly mounting structure. The inclinometers 160 mounted within AACMM 100, as well as the inclinometers mounted on external structures, can all be in communication with the base processing system or an external computing system. Changes in tilt due to the mounting of the AACMM 100 can be found by displaying the difference between the two sensor readings after both are zeroed. For example, the AACMM 100 can be mounted on a surface plate, and a witness sensor can be mounted on the surface plate and plugged into an I/O port on the AACMM 100. Then both sensors are zeroed, and the GUI 505 indicates the difference in tilt between the two sensors. If this difference remains small, it indicates that the AACMM 100 is securely attached to the mounting structure. For example, if the operator walks around the surface plate while making measurements, the floor will deflect and both inclinometers will detect the deviation as common mode drift, thus no deviation on the display. If the operator bumps the arm, or the mounting is loose, an alarm could indicate problems.

In addition to indicating that the AACMM 100 is mounted securely to the surface plate, the information obtained from the inclinometers may also indicate that the overall structure to which the AACMM 100 is mounted is unstable. This is important in some situations. For example, if the object under test is placed on the surface plate, then no error results from a measurement made as the floor bends when the operator walks around the surface plate. On the other hand, if the arm is being extended to measure an object not attached to the surface plate, then the bending of the surface plate structure relative to the object under test may result in a measurement error. By displaying the change in the tilt angle of one set of inclinometers (the one or more inclinometers 160 or the inclinometers on the mounting plate), as well as the difference in tilt between the two sets of inclinometers, the type of problem—improperly mounted arm or wobbly structure—can be identified. In these embodiments, as in those embodiments discussed hereinabove, there is no need to have any knowledge of an external coordinate system.

As discussed hereinabove, there are two types of mounting problems that can occur: (1) the base 116 of AACMM 100 may not be securely attached to the mounting structure or (2) the mounting structure may move, either because the platform on which it rests deforms or because the mounting structure is not securely attached to the platform. By using a single inclinometer placed in the AACMM 100, it is possible to determine that there is a problem in the stability of the AACMM 100 as it is mounted on the mounting structure. In general, it is not possible to determine with just this one inclinometer whether the problem in stability is the result of cause (1) or (2) or some combination of (1) and (2) as listed above. By adding a second inclinometer, it is possible to identify the likely cause of the problem. For example, if the inclinometer attached to the AACMM 100 shows a large variation in tilt angle but the mounting stand does not show a large variation, it is likely that the problem in stability is the result of an insecure mount of the base 116 to the mounting structure 401. Software can notify the operator of the AACMM 100 of this problem so that the operator can take corrective action by more securely fastening the AACMM 100 to the mounting structure. On the other hand, if the inclinometer attached to the AACMM 100 and the inclinometer placed on the mounting structure show nearly identical variations in tilt angles, the problem is most likely the result of an unstable mount or platform. For example, the AACMM 100 might be placed on a mounting structure in the form of an instrument stand or tripod. This mounting structure could be placed on a concrete platform. If the platform is relatively thin (say eight inches thick or less), it may bend under the weight of the operator as the operator moves around the mounting structure. As explained hereinabove, this situation can create measurement errors if the object being measured is not located on the same surface as the AACMM 100. With knowledge of this problem, the operator may take corrective action such as relocating the test station to a more rigid platform or moving the object under test onto the mounting structure.

To observe the variations in tilt angles that are indicative of these mounting problems, a force is applied to the base 116 and to the mounting structure. It is not generally possible to apply a force entirely to the base 116 or to the mounting structure, but it is possible to apply forces to both. For example, one convenient and effective way to apply forces or torques to the base 116 and, to some extent, to the mounting structure is to move the arm segments 106, 108. As explained previously, this produces changes in a torque on the base 116 from the counter-balance spring within the AACMM 100. Because the AACMM 110 is attached to the mounting structure, moving the arm segments 106, 108 also transmits torques, at least to some extent, to the mounting structure.

An alternative way to apply forces to the base 116 and, indirectly, to the mounting structure is to apply a controlled force to the base structure itself. To interpret the meaning of tilt produced by such a method is simplest if a controlled amount of force is applied. Such forces can be applied by a force gauge, for example. Such forces may also be applied to the mounting structure with a force gauge or by walking around the mounting structure.

In general terms, the procedure to be followed in establishing whether the AACMM 100 has a stable mount is shown in procedure 700 of FIG. 7. Step 710 is to apply a first force to the base 116 of the AACMM 100. As described above, this force may be applied in several ways, but a particularly convenient way is to move the arm segments 106, 108 to a first position. The amount of force will vary according to the position of the arm segments for the reasons explained above. At step 720, a first reading of the first inclinometer (the inclinometer attached to the AACMM 100) is recorded. At step 730, a second force is applied. This second force may vary from the first force in either magnitude or direction or both. At step 740, a second reading of the first inclinometer is recorded. The first and second readings are used to calculate a parameter of base stability. This parameter may be one or more numerical value(s) or a state description (such as stable or unstable).

FIG. 7 shows the essential elements of finding base stability. The measurement can be extended and enhanced in several ways. First, additional forces and inclinometer readings may be taken beyond the required two points. Second, software may direct the operator to move the arm in a particular way, which the arm may monitor to provide real time feedback to the operator on the next position to move the arm segments 106, 108. Such a procedure can be quickly carried out (in perhaps one minute) after the AACMM 100 is first mounted on the mounting structure. Third, software may display test results, including a pass/fail indication. Besides using such a method as an initial check to make sure that mounting is good, it may also be repeated periodically, or it can be carried out in the background as the operator uses the arm to make routine measurements.

As inclinometer data is collected, it is also useful to collect encoder readings, as these can be used to estimate the forces or torques applied to the base 116. A variety of criteria may be used to establish whether the inclinometer readings are acceptable in view of the applied forces or torques. The simplest criterion is a simple in or out criteria such as that described with respect to FIG. 5. More complex criteria could involve effects such as linearity or hysteresis.

Procedure 800 of FIG. 8 shows the essential elements of evaluating mounting structure stability. In step 810, a force (the third force) is applied to the mounting structure. This force may result from a movement of arm segments 106, 108 as explained above, or it may result from walking around the mounting structure or applying a controlled force to the mounting structure or the base 116. In step 820, a reading (the third reading) of the second inclinometer (the inclinometer attached to the mounting structure) is recorded. In step 830, a fourth force is applied to the mounting structure. In step 840, a fourth reading of the second inclinometer is recorded. From the collected data, a parameter of mounting structure stability is calculated. As in the case of procedure 700, procedure 800 can be extended or enhanced by collecting multiple points and by using software to direct the operator in the application of forces.

During routine operation of the AACMM 100, data is constantly being collected that can be evaluated to confirm the mounting stability of the AACMM 100. A way to ensure that quality measurement data is produced by the AACMM 100 is to issue an alarm if the parameter of base stability or parameter of mounting structure stability indicates that the mounting stability is not good. Such an alarm could be visual, for example, a message on a display or a flashing light, or it might be audio, for example, a beep or a spoken message. It might also be an electrical signal sent to an electrical device to indicate that further action is needed.

Other types of visual displays besides that shown in FIG. 5 may be used. For example, simple bars from 0 to 100% might be used to indicate the stability of base and mounting structure as indicated by the base stability parameter and the mounting structure stability parameter. Such a bar might also be used for a measure of the difference between these two parameters. Other graphs might show changes in stability as a function of time.

As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++, C# or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer program instructions.

These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable medium that may direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

While the invention has been described with reference to example embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another. Furthermore, the use of the terms a, an, etc. do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item. 

What is claimed is:
 1. A method of evaluating and adjusting mounting stability of a portable articulated arm coordinate measuring machine (AACMM), the method comprising the steps of: providing the AACMM, the AACMM having a manually positionable articulated arm portion, a base, a measurement probe, and a balance device, the arm portion having opposed first and second ends, the arm portion including a plurality of connected arm segments, each arm segment including at least one angular encoder for producing an angle of rotation signal, the arm portion being coupled to the base at the first end and to the measurement probe at the second end, wherein the base is configured to be attached to a structure, and wherein the balance device provides a balance force between the base and the first end; providing an electronic circuit that receives the angle of rotation signals and determines a three dimensional coordinate of the measurement probe; providing a first inclinometer coupled to the base, wherein the first inclinometer is configured to produce a first electrical signal responsive to an angle of tilt of the base with respect to a gravity vector; providing an electrical system configured to receive the first electrical signal and measure the angle tilt of the base; attaching the base to the structure; moving by an operator a first arm segment to a first location, producing a first angle of rotation of a first of the encoders, a first balance force, and a first angle of tilt of the base; measuring the first angle of rotation; measuring the first angle of tilt of the base; moving by the operator the first arm segment to a second location, producing a second angle of rotation of the first of the encoders, a second balance force, and a second angle of tilt of the base; measuring the second angle of rotation; measuring the second angle of tilt of the base; determining a parameter related to the stability of the AACMM based at least in part on the measured first angle of rotation, the measured second angle of rotation, and a difference between the measured first angle of tilt of the base and the measured second angle of tilt of the base; determining a source of error between the base and the structure based on the parameter; indicating to the operator the source of error; performing by the operator a step selected from the group consisting of adjusting the attaching of the base to the structure, and adjusting stability of the structure; providing a second inclinometer configured to be mounted external to and separate from the AACMM and produce a second electrical signal responsive to an angle of tilt of the second inclinometer with respect to the gravity vector; providing an I/O port of the AACMM to receive the second electrical signal and measure the angle of tilt of the second inclinometer; measuring a first angle of tilt of the second inclinometer; and wherein the step of determining a parameter is further based on the measured first angle of tilt of the second inclinometer.
 2. The method of claim 1, wherein in the step of providing a manually positionable articulated arm, the balance device is a spring.
 3. The method of claim 1, wherein: in the step of providing a first inclinometer, the first electrical signal is responsive to the angle of tilt in two directions; and in the step of providing an electrical system, the electrical system is further configured to measure the angle of tilt of the base in the two directions.
 4. The method of claim 1, wherein in the step of determining a parameter, the parameter differentiates between the base and the structure as a source of error.
 5. The method of claim 1, wherein in the step of determining a parameter, changes in tilts that are common mode to the first inclinometer and the second inclinometer are removed from the parameter.
 6. The method of claim 1, wherein in the step of determining a parameter, the parameter is an indication of wobble of the base.
 7. The method of claim 1, wherein in the step of determining a parameter, the parameter is an indication of wobble of the second inclinometer. 